//
//  LZCouponPresenter.h
//  laziz_Merchant
//
//  Created by xbnzd on 16/12/24.
//  Copyright © 2016年 XBN. All rights reserved.
//

#import "LZBasePresenter.h"
@class LZCouponListCouponDetailModel;
@class LZCouponListModel;

@interface LZCouponPresenter : LZBasePresenter

#pragma mark -
#pragma mark 获取优惠详情 包含了优惠券详情  团购详情
/**
  获取优惠券详情
 @param couponId 优惠id
 @param successBlock <#successBlock description#>
 @param failureBlock <#failureBlock description#>
 */
- (void)getCouponDetailWithCouponID:(NSString *)couponId ResultSuccess:(void(^)(LZCouponListCouponDetailModel *couponModel))successBlock Failure:(PresenterCommonFail)failureBlock;

#pragma mark -
#pragma mark 优惠类型数量

/**
 获取 优惠类型数量

 @param sellerId 商户ID
 @param successBlock <#successBlock description#>
 @param failureBlock <#failureBlock description#>
 */
- (void)getCouponStateCountWithSellerID:(NSString *)sellerId ResultSuccess:(PresenterCommonSuccess)successBlock Failure:(PresenterCommonFail)failureBlock;


#pragma mark -
#pragma mark 获取优惠列表
/**
 获取优惠列表

 @param sellerId 商户id
 @param cState 列表状态 1 已提交 2 待审核 3 审核通过 4 审核退回 5 已发布 6 已下线
 @param couponName 优惠名称  ==搜索用
 @param cPage 当前页数
 @param limit <#limit description#>
 @param successBlcok <#successBlcok description#>
 @param failureBlock <#failureBlock description#>
 */
- (void)getCouponListWithSellerID:(NSString *)sellerId CouponState:(NSString *)cState CouponName:(NSString *)couponName Cpage:(NSInteger)cPage Limit:(NSInteger)limit ResultSuccess:(void(^)(NSArray *listArr, NSInteger totalPage, NSInteger currentPage, NSTimeInterval timeStamp))successBlcok Failure:(PresenterCommonFail)failureBlock;

#pragma mark -
#pragma mark 优惠列表中修改优惠状态
/**
 在优惠列表中点击 提交 发布 下线 时进行的操作

 @param couponId 优惠id
 @param couponState 状态 1 已保存 2 待审核 3 审核通过 4 审核退回 5 已发布 6 已下线
 @param isDelete 状态 1 未删除 0 删除
 @param successBlock <#successBlock description#>
 @param failureBlock <#failureBlock description#>
 */
- (void)inCouponListModifyCouponWithCouponId:(NSString *)couponId couponState:(int)couponState couponIsDelete:(int)isDelete ResultSuccess:(PresenterCommonSuccess)successBlock Failure:(PresenterCommonFail)failureBlock;

#pragma mark -
#pragma mark 编辑优惠,重新保存
/**
 编辑优惠 重新提交

 @param couponModel 原来的优惠模型 需要再次模型中把 state 状态改为 1(已经保存)
 @param successBlock <#successBlock description#>
 @param failureBlock <#failureBlock description#>
 */
- (void)modifyCouponWithCouponModel:(LZCouponListModel *)couponModel ResultSuccess:(PresenterCommonSuccess)successBlock Failure:(PresenterCommonFail)failureBlock;


#pragma mark -
#pragma mark 发布优惠

/**
 发布最新的优惠

 @param localCouponModel 本地组建的model.不包含 优惠id 等关键信息
 @param successBlock 成功返回信息最全的model.包好 优惠id
 @param failureBlock <#filureBlock description#>
 */
- (void)publishCouponWithLocalCouponModel:(LZCouponListModel *)localCouponModel ResultSuccess:(void(^)(LZCouponListModel *completeCouponModel))successBlock Failure:(PresenterCommonFail)failureBlock;

@end
